package com.bjpowernode.crm.workbench.service;

import com.bjpowernode.crm.workbench.domain.Activity;

import java.util.List;
import java.util.Map;

public interface ActivityService {
    /**
     * 添加新的市场活动
     * @return
     */
    int saveCreateActivity(Activity activity);

    /**
     * 分页查询数据
     * @param map
     * @return
     */
    List<Activity> queryActivityByConditionForPage(Map<String,Object> map);

    /**
     * 查询总的记录数
     * @param map
     * @return
     */
    int queryCountForActivityByCondition(Map<String,Object> map);

    /**
     * 通过id删除
     * @param ids
     * @return
     */
    int deleteActivityByIds(String[] ids);

    /**
     * 通过id查找到修改表单的信息
     * @param id
     * @return
     */
    Activity queryActivityById(String id);

    /**
     * 将修改后的市场表单保存
     * @param activity
     * @return
     */
    int saveUpdateActivity(Activity activity);

    /**
     * 为创建Excel表单做准备
     * @return
     */
    List<Activity> queryAllActivities();

    /**
     * 根据id查询市场活动
     * @param ids
     * @return
     */
    List<Activity> queryActivitiesById(String[] ids);

    /**
     * 保存添加的数据
     * @param activityList
     * @return
     */
    int saveActivityByList(List<Activity> activityList);

    /**
     * 根据id查询单个市场活动
     * @param id
     * @return
     */
    Activity queryActivityForDetailById(String id );

    /**
     * 根据线索表id查询多条市场活动记录
     * @param clueId
     * @return
     */
    List<Activity> queryActivityByClueId(String clueId);

    /**
     * 查询市场活动，在线索关联表显示出来，并且根据clueId可以排除已经关联的市场活动数据
     * @param map
     * @return
     */
    List<Activity> queryActivityByNameAndClueId(Map<String,Object> map);

    /**
     * 根据线索表添加的市场活动表的id查询市场活动
     * @param id
     * @return
     */
    List<Activity> queryActivityById(String[] id);

    /**
     * 根据activityName和clueId查询市场活动
     * @return
     */
    List<Activity> queryActivityConvertForActivityNameAndClueId(Map<String,Object> map);
}

